package ast;

public class Statement extends AstItem {
	// 语句类型
	public enum StatementType {
		// 对应以下六个子类
		// BlockStatement
		BLOCK,
		// LValStatement(其中EXP_STMT比较特殊，没有左值)
		DECL_STMT, ASSIGN_STMT, SELF_ADD_STMT, SELF_MINU_STMT, EXP_STMT, VOID_STMT,
		// StructuralStatement
		IF_STMT, WHILE_STMT, FOR_STMT,
		// JumpStatement
		BREAK_STMT, CONTINUE_STMT, RETURN_STMT,
		// InputStatement
		INPUT_STMT,
		// OutputStatement
	    PRINT_STMT
	}
	public StatementType type;
	
	public void preprocess(AstItem father) {
	}
}
